#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
MySQL版本的GUI主程序入口
集成登录系统和MySQL数据库支持
"""

import sys
import os
import tkinter as tk
from tkinter import messagebox

# 添加项目根目录到Python路径
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

def main():
    """
    主函数
    """
    try:
        # 导入必要的模块
        from src.game.mysql_game_manager import MySQLGameManager
        from src.ui.login_window import LoginWindow
        from src.ui.main_window import MainWindow
        
        # 创建MySQL游戏管理器
        game_manager = MySQLGameManager()
        
        # 初始化游戏管理器
        if not game_manager.initialize():
            messagebox.showerror("初始化失败", "游戏管理器初始化失败，请检查数据库连接")
            return
        
        def on_login_success():
            """
            登录成功后的回调函数
            """
            # 创建并运行主窗口
            main_window = MainWindow(game_manager)
            main_window.run()
            
            # 主窗口关闭后，关闭游戏管理器
            game_manager.shutdown()
        
        # 创建并运行登录窗口
        login_window = LoginWindow(game_manager, on_login_success)
        login_window.run()
        
    except ImportError as e:
        messagebox.showerror("导入错误", f"无法导入必要的模块: {str(e)}")
    except Exception as e:
        messagebox.showerror("错误", f"程序启动时发生错误: {str(e)}")

if __name__ == "__main__":
    main()